package Vista;

import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;

import Controlador.UsuarioDao;
import Modelo.IUsuario;
import Modelo.Usuario;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class AddUsuarioView extends JPanel {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JTextField jTxtNifBusqueda;
	private JTextField jTxtNombre;
	private JTextField jTxtApellidos;
	private JTextField jTxtNif;
	private JTextField jTxtEmail;

	/**
	 * Create the panel.
	 */
	public AddUsuarioView() {
		setLayout(null);
		
		JTabbedPane jTabBusqueda = new JTabbedPane(JTabbedPane.TOP);
		jTabBusqueda.setBounds(31, 21, 376, 99);
		add(jTabBusqueda);
		
		JPanel panel = new JPanel();
		jTabBusqueda.addTab("Busqueda de Usuario", null, panel, null);
		panel.setLayout(null);
		
		JLabel label = new JLabel("NIF: ");
		label.setBounds(21, 25, 46, 14);
		panel.add(label);
		
		jTxtNifBusqueda = new JTextField();
		jTxtNifBusqueda.setBounds(56, 22, 112, 20);
		panel.add(jTxtNifBusqueda);
		jTxtNifBusqueda.setColumns(10);
		
		JButton jBtnBusqueda = new JButton("Buscar");
		jBtnBusqueda.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				UsuarioDao uDao=new UsuarioDao();
				IUsuario u = uDao.findUsuarioByNif(jTxtNifBusqueda.getText());
				jTxtNombre.setText(u.getNombre());
				jTxtApellidos.setText(u.getApellidos());
				jTxtNif.setText(u.getNif());
				jTxtEmail.setText(u.getEmail());
			}
		});
		jBtnBusqueda.setBounds(210, 21, 89, 23);
		panel.add(jBtnBusqueda);
		
		JLabel lblNombre = new JLabel("Nombre:");
		lblNombre.setBounds(28, 169, 70, 14);
		add(lblNombre);
		
		jTxtNombre = new JTextField();
		jTxtNombre.setBounds(92, 166, 105, 20);
		add(jTxtNombre);
		jTxtNombre.setColumns(10);
		
		JLabel label_1 = new JLabel("Apellidos:");
		label_1.setBounds(28, 201, 70, 14);
		add(label_1);
		
		JLabel label_2 = new JLabel("NIF:");
		label_2.setBounds(28, 235, 42, 14);
		add(label_2);
		
		JLabel label_3 = new JLabel("Email:");
		label_3.setBounds(28, 265, 42, 14);
		add(label_3);
		
		jTxtApellidos = new JTextField();
		jTxtApellidos.setColumns(10);
		jTxtApellidos.setBounds(92, 195, 105, 20);
		add(jTxtApellidos);
		
		jTxtNif = new JTextField();
		jTxtNif.setColumns(10);
		jTxtNif.setBounds(92, 229, 105, 20);
		add(jTxtNif);
		
		jTxtEmail = new JTextField();
		jTxtEmail.setColumns(10);
		jTxtEmail.setBounds(92, 259, 105, 20);
		add(jTxtEmail);
		
		JButton jBtnAddUsuario = new JButton("A\u00F1adir");
		jBtnAddUsuario.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				
				IUsuario user = new Usuario();
				try {
					user.setNombre(jTxtNombre.getText());
					user.setApellidos(jTxtApellidos.getText());
					user.setNif(jTxtNif.getText());
					user.setEmail(jTxtEmail.getText());
					
					UsuarioDao uDao = new UsuarioDao();
					uDao.create(user);
					
				} catch (Exception e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
				
			}
		});
		jBtnAddUsuario.setBounds(267, 165, 89, 23);
		add(jBtnAddUsuario);
		
		JButton jBtnUpdateUsuario = new JButton("Actualizar");
		jBtnUpdateUsuario.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				
				IUsuario u = new Usuario();
				
				try {
					u.setNombre(jTxtNombre.getText());
					u.setApellidos(jTxtApellidos.getText());
					u.setNif(jTxtNif.getText());
					u.setEmail(jTxtEmail.getText());
					
					UsuarioDao uDao = new UsuarioDao();
					uDao.update(u);
					
					
				} catch (Exception e) {
					e.printStackTrace();
					System.err.println("CATCH del addUserView");
				}finally{
					jTxtNombre.setText("");
					jTxtApellidos.setText("");
					jTxtNif.setText("");
					jTxtEmail.setText("");
				}
				
				
				UsuarioDao uDao = new UsuarioDao();
				
			}
		});
		jBtnUpdateUsuario.setBounds(267, 212, 110, 23);
		add(jBtnUpdateUsuario);

	}
}
